package com.songlanyun.modules.rabbitmq;

/**
 * 生产者和消费者都要用的变量
 * 生产者需要： 交换机  路由
 * 消息者：交换机  路由  队列
 */
public class MqConstant {

    public static final int MAX_SIZE_PER_TIME = 1000;

    public interface MsgLogStatus {
        Integer DELIVERING = 0;// 消息投递中
        Integer DELIVER_SUCCESS = 1;// 投递成功
        Integer DELIVER_FAIL = 2;// 投递失败
        Integer CONSUMED_SUCCESS = 3;// 已消费
    }


    /**
     * 分润交换机
     **/
    public static final String PROCEEDS_EXCHANGE = "lida_proceeds_exchange";
    /**
     * 分润路由 如有其他的业务需要队列，如下定义就行
     **/
    public static final String PROCEEDS_ROUTER = "lida_proceeds_router";
    //在 admin界面已配置，不要修改它
    public static final String PROCEEDS_QUEUE = "lida_proceeds_queue";


    /**
     * 订单支付成功后会员升级处理
     **/
    public interface UserUpgradeConstant {
        String USER_UPGRADE_EXCHANGE = "user_upgrade_exchange";
        String USER_UPGRADE_QUEUE = "user_upgrade_queue";
        String USER_UPGRADE_ROUTER = "user_upgrade_router";
    }

    /**
     * 订单支付成功后计算商家所得
     **/
    public interface ComputeShopGainsConstant {
        String COMPUTE_SHOP_GAINS_EXCHANGE = "compute_shop_gains_exchange";
        String COMPUTE_SHOP_GAINS_QUEUE = "compute_shop_gains_queue";
        String COMPUTE_SHOP_GAINS_ROUTER = "compute_shop_gains_router";
    }

    /**
     * 发送微信小程序消息
     */
    public interface WxNotifyConstant {
        String WX_NOTIFY_EXCHANGE = "wx_notify_exchange";
        String WX_NOTIFY_QUEUE = "wx_notify_queue";
        String WX_NOTIFY_ROUTER = "wx_notify_router";
    }

    /**
     * 发货成功发送消息
     */
    public interface ShipSuccessSendMessageConstant {
        String SHIP_SUCCESS_SEND_MESSAGE_EXCHANGE = "ship_success_send_message_exchange";
        String SHIP_SUCCESS_SEND_MESSAGE_QUEUE = "ship_success_send_message_queue";
        String SHIP_SUCCESS_SEND_MESSAGE_ROUTER = "ship_success_send_message_router";
    }

    /**
     * 商家处理维权发送消息
     */
    public interface BusinessRightsSendMessageConstant {
        String BUSINESS_RIGHTS_SEND_MESSAGE_EXCHANGE = "business_rights_send_message_exchange";
        String BUSINESS_RIGHTS_SEND_MESSAGE_QUEUE = "business_rights_send_message_queue";
        String BUSINESS_RIGHTS_SEND_MESSAGE_ROUTER = "business_rights_send_message_router";
    }

    /**
     * 保存积分记录发送消息
     */
    public interface IntegralRecordSendMessageConstant {
        String INTEGRAL_RECORD_SEND_MESSAGE_EXCHANGE = "integral_record_send_message_exchange";
        String INTEGRAL_RECORD_SEND_MESSAGE_QUEUE = "integral_record_send_message_queue";
        String INTEGRAL_RECORD_SEND_MESSAGE_ROUTER = "integral_record_send_message_router";
    }

    /**
     * APP站内消息
     */
    public interface PrivateMessageSendMessageConstant {
        String PRIVATE_MESSAGE_SEND_MESSAGE_EXCHANGE = "private_message_send_message_exchange";
        String PRIVATE_MESSAGE_SEND_MESSAGE_QUEUE = "private_message_send_message_queue";
        String PRIVATE_MESSAGE_SEND_MESSAGE_ROUTER = "private_message_send_message_router";
    }


    /**
     * 库存不足记录
     **/
    public interface UnderStockRecordConstant {
        String UNDER_STOCK_RECORD_EXCHANGE = "under_stock_record_exchange";
        String UNDER_STOCK_RECORD_QUEUE = "under_stock_record_queue";
        String UNDER_STOCK_RECORD_ROUTING = "under_stock_record_routing";
    }

    /**
     * 更新库存不足的单品记录状态
     **/
    public interface UnderStockStatusConstant {
        String UNDER_STOCK_STATUS_EXCHANGE = "under_stock_status_exchange";
        String UNDER_STOCK_STATUS_QUEUE = "under_stock_status_queue";
        String UNDER_STOCK_STATUS_ROUTING = "under_stock_status_routing";
    }

    /**
     * 公益消息
     **/
    public interface PublicBenefitMsgConstant {
        String PUBLIC_BENEFIT_MSG_EXCHANGE = "public_benefit_msg_exchange";
        String PUBLIC_BENEFIT_MSG_QUEUE = "public_benefit_msg_queue";
        String PUBLIC_BENEFIT_MSG_ROUTING = "public_benefit_msg_routing";
    }


    /**
     * 会员注册成功发送消息
     */
    public interface UserRegSuccessConstant {
        String USER_REG_SUCCESS_EXCHANGE = "user_reg_success_exchange";
        String USER_REG_SUCCESS_QUEUE = "user_reg_success_queue";
        String USER_REG_SUCCESS_ROUTER = "user_reg_success_router";
    }

}
